<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			// 写一个函数计算n!
			// n  计算 1*2*3*... n			
			// 10!
						
			// 演示:1+2+...+n
			function foo(n)
			{
				var result = 0;
				for(var i=1;i<=n;i++)
				{
					result += i;
				}
				return result;
			}
			document.write(foo(100)+"<br />");
			
			function foo2(n)
			{
				var result = 1;
				for(var i=1;i<=n;i++)
				{
					result *= i;
				}
				return result;
			}
			document.write(foo2(10)+"<br />");
			
			
			
			// n! 
			
			// n* (n-1)!
			
			// 5! =  5 * 4!
			// 4! =  4 * 3!
			// 3! =  3 * 2!
			// 2！=  2* 1！
			// 1！=  1
			
			
			function foo3(n)
			{
				if(n>1)
				{
					return n * foo3(n-1);
				}
				else
				{
					return 1;
				}				
			}
			document.write(foo3(10)+"<br/>")
			
			// foo3(5) 
				// return 5*foo3(4)
					// 计算foo3(4)
						// return 4*foo3(3)
							// 计算foo3(3)
								// return 3*foo3(2)
									// 计算foo3(2)
										// return 2*foo3(1)
											// 计算foo3(1)
												// return 1
										// return 2*1
								// return 3*2   6
						// return 4*6   24
			
			// 练习2 (*)
			// 编写函数feibo()计算斐波那契数列中的数，并调用它打印出
			// 1 1 2 3 5 8 13 21 34 55 ...			
			// feibo(1)	1
			// feibo(2)	1
			// feibo(3) 2
			// feibo(4) 3
			// ...			
			// 用以下代码测试
			for(var i=1;i<=10;i++)
			{
				document.write(feibo(i)+"&nbsp;");
			}
			
		</script>
	</body>
</html>